Trang chủ Tổ Giúp Việc TGĐ Google Sheets Bài viết
Phần 1: Tạo công thức mẫu
*Bước 1: Chọn Hàm được đặt tên

*Bước 2: Chọn Thêm hàm mới

* Bước 3: Thêm các giá trị như trong hình ảnh

- Tên hàm: VND
- Mô tả về hàm: Chuyển số thành chữ
- Phần giữ đối số không bắt buộc:
+ giá_trị
+ đơn_vị
- Định nghĩa công thức:
=MAP(giá_trị; LAMBDA(x; IF(x="";; LET(input; x+0; s; SIGN(input); int; INT(ABS(input))&""; dec; IFNA(REGEXEXTRACT(TEXT(input;".##############");",(.*)"););
unit; HSTACK(SEQUENCE(9;1;0);VSTACK("";"mươi";"trăm";"nghìn";"mươi";"trăm";"triệu";"mươi";"trăm"));
number_map; VSTACK("0";"không";"1";"một";"2";"hai";"3";"ba";"4";"bốn";"5";"năm";"6";"sáu";"7";"bảy";"8";"tám";"9";"chín");
replace_map; VSTACK(number_map;"không mươi";"linh";"một mươi";"mười";"mươi một";"mươi mốt";"linh không ";"";"mươi không";"mươi";"mười không";"mười";"mươi năm";"mươi lăm";"( không trăm (nghìn|triệu|$))+";"";"không trăm tỷ";"tỷ";"(tỷ)+";"tỷ");
convert_number; LAMBDA(giá_trị; TRIM(REDUCE(JOIN(" ";MAP(SEQUENCE(LEN(giá_trị)); LAMBDA(i; MID(giá_trị;i;1) &" "& VLOOKUP(MOD(LEN(giá_trị)-i;9);unit;2;0) & IF(MOD(LEN(giá_trị)-i;9)=0;REPT("tỷ";(LEN(giá_trị)-i)/9 ); )))) ; SEQUENCE(ROWS(replace_map)/2;1;1;2) ; LAMBDA(ini; i; REGEXREPLACE(ini; INDEX(replace_map;i); INDEX(replace_map;i+1))))));
out; TRIM(IF(s=-1;"âm "&convert_number(int);convert_number(int))&
IF(dec="";;", phẩy"&IF(REGEXMATCH(dec;"^0+d$");REDUCE(dec;SEQUENCE(ROWS(number_map)/2;1;1;2) ; LAMBDA(ini; i; REGEXREPLACE(ini; INDEX(number_map;i); " "&INDEX(number_map;i+1)))) ;" "&convert_number(dec)))&IF(đơn_vị="";;" "&đơn_vị));
UPPER(LEFT(out))&RIGHT(out;LEN(out)-1)))))Phần 2: Ví dụ thường gặp
* Ví dụ 1: Số bình thường không có thập phân, thêm hậu tố là đơn vị tiền tệ.
1.200.000,00
=VND(B20;"đồng")
Kết quả: Một triệu hai trăm nghìn đồng
* Ví dụ 2: Số có nhiều chữ số sau dấu thập phân
1.200.000,000009
=VND(B26;)
Kết quả: Một triệu hai trăm nghìn, phẩy không không không không không chín
* Ví dụ 3: Số âm
-1.204.454.009
=VND(B36;"đồng")
Kết quả: Âm một tỷ hai trăm linh bốn triệu bốn trăm năm mươi bốn nghìn không trăm linh chín đồng
[ 0 trên tổng số 1 thấy hữu ích ]